When connecting two devices, for example a master device and a slave device, it may be required to transmit signals from the master device to the slave device and from the slave device to the master device.
It may be preferable to provide a bidirectional (half duplex) link for data transfer between the master device and the slave device on one wire (or on one pair of wires). One issue that arises with a bidirectional link on a single wire (or pair of wires) is the need to take account of the transmission delay between the host device and the accessory. For example, when one data symbol is transferred in a first direction from a first device to a second device, it arrives at the second device after a certain time delay. Then, if the requirement is that the next data symbol should be transmitted from the second device to the first device, there is a further transmission delay before that next data symbol is received by the first device. Taking account of these transmission delays can result in inefficient usage of the time available on the link. One possibility is to embed synchronization information in the data that is transferred, but this requires relatively complex circuitry in the receiver device.